İşte apple-app-site-association
dosyası hakkında kapsamlı bir bilgi içeren bir markdown makalesi:
Apple App Site Association (AASA) dosyası, Apple tarafından kullanılan, uygulamanızın belirli web siteleriyle ilişkili olduğunu ve bu web sitelerindeki bağlantıların uygulamanızda açılmasını sağlayan bir JSON dosyasıdır. Bu mekanizma, "Universal Links" olarak da bilinir. AASA dosyası, web sunucunuzda barındırılır ve iOS cihazların uygulamanızla web siteniz arasındaki ilişkiyi doğrulamasını sağlar.
Universal Links, iOS 9 ve sonraki sürümlerde tanıtılan, web sitenizdeki bağlantılara tıklandığında doğrudan uygulamanızın açılmasını sağlayan bir mekanizmadır. AASA dosyası, bu sürecin temel bir bileşenidir. Bu dosya, uygulamanızın hangi web siteleriyle ilişkili olduğunu ve hangi URL'lerin uygulamanız tarafından işlenebileceğini tanımlar.
Universal Links'in temel amacı, kullanıcı deneyimini iyileştirmektir. Geleneksel olarak, bir web sitesi bağlantısına tıklandığında iOS, web sitesini Safari'de açar. Eğer web sitesi için bir uygulama da mevcutsa, kullanıcı manuel olarak uygulamayı açmak zorunda kalır. Universal Links bu süreci otomatikleştirerek, kullanıcıyı doğrudan uygulamaya yönlendirir.
AASA dosyası, standart bir JSON formatında olmalıdır ve aşağıdaki anahtar kelimeleri içermelidir:
appIDs
: Uygulamanızın Team ID ve Bundle Identifier'ının bir kombinasyonunu içeren bir dizi (array). Örneğin: "TEAMID.com.example.myapp"
paths
: Uygulamanız tarafından işlenecek URL'lerin bir listesi. Bu liste, tam URL'leri veya wildcard karakterleri (*
) içerebilir.AASA dosyasının temel yapısı şöyledir:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "TEAMID.com.example.myapp",
"paths": [
"/*",
"/products/*",
"/blog/*",
"/promotions/*"
]
}
]
}
}
Açıklamalar:
"apps": []
: Bu dizi, uygulamanızın ilişkili olduğu uygulamaların listesini içerir. Genellikle boştur."details"
: Bu dizi, uygulamanız ve web siteniz arasındaki ilişkiyi tanımlayan nesneleri içerir.
"appID"
: Uygulamanızın Team ID ve Bundle Identifier'ının birleşimidir."paths"
: Uygulamanız tarafından işlenecek URL desenlerinin bir listesidir. *
karakteri, herhangi bir karakter dizisini temsil eder.AASA dosyasının web sunucunuzda belirli bir konumda bulunması gerekir:
https://example.com/.well-known/apple-app-site-association
https://example.com/apple-app-site-association
(iOS 9'da da desteklenir)Dosyanın MIME türü application/json
olmalıdır ve HTTPS üzerinden sunulmalıdır. HTTP üzerinden sunulması durumunda Universal Links çalışmayacaktır.
iOS, uygulamayı ilk kez yüklediğinizde veya güncellediğinizde AASA dosyasını web sunucunuzdan indirir. Ayrıca, kullanıcı uygulamanızla ilişkilendirilmiş bir bağlantıya ilk kez tıkladığında da dosyayı kontrol eder. Dosyanın doğru şekilde yapılandırıldığından ve erişilebilir olduğundan emin olmak önemlidir.
AASA dosyasının doğrulanması için kullanabileceğiniz araçlar şunlardır:
AASA dosyası oluşturmak için aşağıdaki adımları izleyebilirsiniz:
AASA yapılandırmasında yaygın hatalar şunlardır:
appID
: Team ID ve Bundle Identifier'ın doğru olduğundan emin olun.paths
: URL desenlerinin doğru olduğundan ve beklenen URL'leri kapsadığından emin olun.application/json
olduğundan emin olun.Hata ayıklama için Xcode konsolunu ve cihaz günlüklerini kullanabilirsiniz.
{
"applinks": {
"apps": [],
"details": [
{
"appID": "ABCDEFGHIJ.com.example.myapp",
"paths": [
"/products/*",
"/blog/*",
"/promotions/*",
"/article/*",
"/users/*"
]
}
]
}
}
Bu örnekte, ABCDEFGHIJ
Team ID'sini ve com.example.myapp
Bundle Identifier'ını temsil etmektedir. paths
dizisi, uygulamanızın /products
, /blog
, /promotions
, /article
ve /users
altındaki tüm URL'leri işleyeceğini belirtir.
Web sitenizde veya uygulamanızda URL yapıları değiştiğinde, AASA dosyasını güncellemeyi unutmayın. iOS, AASA dosyasını düzenli aralıklarla yeniler, ancak değişikliklerin hemen etkili olması garanti edilmez.
AASA dosyasının güvenliği, Universal Links mekanizmasının güvenliği için kritik öneme sahiptir. AASA dosyasının yetkisiz kişiler tarafından değiştirilmesi, kötü niyetli uygulamaların web sitenizle ilişkiliymiş gibi davranmasına ve kullanıcıları kandırmasına neden olabilir.
Bu makale, AASA dosyası ve Universal Links hakkında kapsamlı bir genel bakış sunmaktadır. Umarım faydalı olmuştur!